package com.baoyouqun.domain.Enum;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;

/**
 * 搜索类型枚举类
 */
@Getter
@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum SearchTypeEnum {

    /**
     * 综合搜索
     */
    COMPREHENSIVE("1", "综合"),

    /**
     * 找需求
     */
    FIND_DEMAND("2", "找需求"),

    /**
     * 找资源
     */
    FIND_RESOURCE("3", "找资源"),

    /**
     * 找人
     */
    FIND_PERSON("4", "找人");

    /**
     * 系统存储标识
     */
    @EnumValue
    private final String value;

    /**
     * 前端/业务显示名称
     */
    private final String name;

    SearchTypeEnum(String value, String name) {
        this.value = value;
        this.name = name;
    }

    /**
     * 根据系统存储值匹配枚举
     */
    public static SearchTypeEnum valueOfDbValue(String value) {
        for (SearchTypeEnum type : values()) {
            if (type.value.equals(value)) {
                return type;
            }
        }
        throw new IllegalArgumentException("无效的搜索类型标识：" + value);
    }
}